using System;
using System.Collections.Generic;
using System.Text;
namespace BLL.BusinessLayer
{
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
	[Serializable]
	public class ClsWiki: BusinessObjectBase
	{

		public ClsWiki() {}

		#region InnerClass
		public enum ClsWikiFields
		{
			WikiID,
			QuestionID,
			ChoiceID,
			Wiki,
			Url
		}
		#endregion

		#region Data Members

			int _wikiID;
			int? _questionID;
			int? _choiceID;
			string _wiki;
			string _url;

		#endregion

		#region Properties

		public int  WikiID
		{
			 get { return _wikiID; }
			 set
			 {
				 if (_wikiID != value)
				 {
					_wikiID = value;
					 PropertyHasChanged("WikiID");
				 }
			 }
		}

		public int?  QuestionID
		{
			 get { return _questionID; }
			 set
			 {
				 if (_questionID != value)
				 {
					_questionID = value;
					 PropertyHasChanged("QuestionID");
				 }
			 }
		}

		public int?  ChoiceID
		{
			 get { return _choiceID; }
			 set
			 {
				 if (_choiceID != value)
				 {
					_choiceID = value;
					 PropertyHasChanged("ChoiceID");
				 }
			 }
		}

		public string  Wiki
		{
			 get { return _wiki; }
			 set
			 {
				 if (_wiki != value)
				 {
					_wiki = value;
					 PropertyHasChanged("Wiki");
				 }
			 }
		}

		public string  Url
		{
			 get { return _url; }
			 set
			 {
				 if (_url != value)
				 {
					_url = value;
					 PropertyHasChanged("Url");
				 }
			 }
		}


		#endregion

		#region Validation

		internal override void AddValidationRules()
		{
			ValidationRules.AddRules(new Validation.ValidateRuleNotNull("WikiID", "WikiID"));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("Wiki", "Wiki",1000));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("Url", "Url",500));
		}

		#endregion

	}
}
